1 import java
.util
.*; class Item
implements Comparable
<Item
>{
2 int destino
, peso
; Item(int destino
, int peso
){ this.peso
=
3 peso
; this.destino
= destino
; }
5 * Implementamos toda la javazofia.
7 public int compareTo(Item otro
){
8 // Return < 0 si this < otro
9 // Return 0 si this == otro
10 // Return > 0 si this > otro
11 /* Un nodo es menor que otro si tiene menos peso */
12 return peso
- otro
.peso
; } public boolean
13 equals(Object otro
){ if (otro
instanceof Item
){ Item ese
=
14 (Item
)otro
; return destino
== ese
.destino
&& peso
==
15 ese
.peso
; } return false; } public String
toString(){
16 return "peso = " + peso
+ ", destino = " + destino
; } }
17 class Ejemplo
{ public static void main(String
[] args
) {
18 PriorityQueue
<Item
> q
= new PriorityQueue
<Item
>();
19 q
.add(new Item(12, 0)); q
.add(new Item(4, 1876));
20 q
.add(new Item(13, 0)); q
.add(new Item(8, 0)); q
.add(new
21 Item(7, 3)); while (!q
.isEmpty()){
22 System
.out
.println(q
.poll()); } } }